Long functions splitted.
[f432xdd.git] / java / Graph Editor / src / controllers / actions / DeleteNode.java
blobdd8a0b6f1380fe61426f3e7e237fc9bce68c7533
1 package controllers.actions;
3 import javax.swing.undo.AbstractUndoableEdit;
5 import models.GraphEdge;
6 import models.GraphVertex;
7 import controllers.*;
9 public class DeleteNode extends AbstractUndoableEdit {
10 private static final long serialVersionUID = -7929100929760152271L;
11 private GraphVertex o;
12 private SelectionController selectionController;
14 private GraphEdge[] affectedEdges;
16 public DeleteNode(SelectionController selectionController)
18 this.selectionController = selectionController;
19 this.o = selectionController.getSelectedVertex();
20 redo();
23 private void removeAffectedEdges()
25 selectionController.getModel().removeEdge(affectedEdges);
28 private void addAffectedEdges()
30 selectionController.getModel().addEdge(affectedEdges);
33 private void getAffectedEdges(){
34 GraphEdge[] arr = selectionController.getModel().getEdges();
35 int count = 0;
36 for(int i=0; i < arr.length; i++)
37 if(arr[i].EdgeOf(o))
38 count++;
39 count = 0;
40 affectedEdges = new GraphEdge[count];
41 for(int i=0; i < arr.length; i++)
42 if(arr[i].EdgeOf(o))
43 affectedEdges[count++] = arr[i];
47 public void redo()
49 getAffectedEdges();
50 removeAffectedEdges();
51 selectionController.removeSelected();
52 selectionController.getModel().removeGraph(o);
55 public void undo()
57 addAffectedEdges();
58 selectionController.getModel().addGraph(o);
59 selectionController.setSelected(o);